1. Field of the Invention
This invention generally relates to serial data and optical communication networks and, more particularly, to a system and method for more efficiently initiating packet reassembly in a multilink communication network.
2. Description of the Related Art
Packets, or packetized groupings of digital information can be transmitted using multilink network protocols such as MLFR, Multi Link Frame Relay, or MLPPP, Multi Link Point to Point Protocol. These multilink protocols allow the aggregation of multiple physical channels, T1/E1 links for example, into a single virtual link called a bundle. This ability to aggregate links allows a network to increase its bandwidth beyond a T1/E1 rate without having to purchase a T3 line. On the transmitting end of a network employing the multilink protocol, packets are fragmented, given a multilink header, which includes a sequence number, and transmitted on any of the links that compose the bundle. Each link is an independent link that may or may not share a common geographical path with other links.
At the receiving end of a multilink network, packet fragments are resequenced using the sequence number contained in the multilink header and recombined into the original packet. Since each link of a bundle may have a different geographical path, the arrival order will likely not match the transmission order. Reassembly of these fragments into the original packet requires memory and processing resources. Determining whether a packet fragment is late, due to transmission time differences between links, or lost due to network errors can quickly and accurately be performed using a value called M. However, determining when to begin reassembly of fragments can significantly affect network performance because of inherent memory bandwidth and processing resource limitations.
In multilink systems, a decision must be made to determine if a late arriving packet is lost. Request for Comments (RFC)-1990 is a specification defining an algorithm that determines when a late arriving packet can accurately be considered lost using a calculated value labeled “M”. As defined in RFC-1990, which was advanced to standard status by the Internet Engineering Task Force in December 1999, a single twelve or twenty-four bit value must be maintained for each link within a bundle.
Conventional implementations of the multilink protocol reassemble packet fragments after all fragments for the packet have arrived. In a typical Internet flow of packets this method can result in processing fragments in a bursty pattern. This bursty processing pattern can easily overwhelm processing resources resulting in network delays and excessive memory usage.
It would be advantageous if received multilink packet fragments could be reassembled more efficiently.
It would be advantageous if these received packet fragments could be reassembled with a minimum of memory usage or processing delays.